{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  k-Nearest Neighbor with Randomized Search\n",
    "KNN classifier is trained on feature set 2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Get the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stored variables and their in-db values:\n",
      "X_16_val                  -> array([[ 3.00880939,  0.26443017,  1.05370334, ...\n",
      "X_32_val                  -> array([[-0.13964146,  0.53184264, -0.71694033, ...\n",
      "X_32test_std              -> defaultdict(<class 'list'>, {0: array([[-0.1396414\n",
      "X_32train_std             -> array([[-0.80277066, -0.49489511, -0.83240094, ...\n",
      "X_test                    -> defaultdict(<class 'list'>, {0: array([[[-0.006215\n",
      "X_test_std                -> defaultdict(<class 'list'>, {0: array([[ 3.0088093\n",
      "X_train                   -> array([[[-0.01174874, -0.00817356, -0.0042913 , ..\n",
      "X_train_std               -> array([[-0.80277066, -0.49489511, -0.83240094, ...\n",
      "snrs                      -> [-20, -18, -16, -14, -12, -10, -8, -6, -4, -2, 0, \n",
      "y_16_val                  -> array([3, 5, 1, ..., 2, 4, 0])\n",
      "y_32_test                 -> defaultdict(<class 'list'>, {0: array([2, 2, 3, ..\n",
      "y_32_train                -> array([5, 0, 2, ..., 4, 6, 6])\n",
      "y_32_val                  -> array([2, 2, 3, ..., 0, 3, 5])\n",
      "y_test                    -> defaultdict(<class 'list'>, {0: array([3, 5, 1, ..\n",
      "y_train                   -> array([5, 0, 2, ..., 4, 6, 6])\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "import numpy as np\n",
    "from collections import defaultdict\n",
    "from time import time\n",
    "import pickle  \n",
    "import sklearn\n",
    "from sklearn import metrics\n",
    "from sklearn.model_selection import RandomizedSearchCV\n",
    "\n",
    "%store -r\n",
    "%store"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training data:  (80000, 32) and labels:  (80000,)\n",
      " \n",
      "Test data:\n",
      "Total 20 (4000, 32) arrays for SNR values:\n",
      "dict_keys([0, -16, 2, 4, 6, 8, 12, 10, -20, -14, -18, 16, 18, -12, 14, -10, -8, -6, -4, -2])\n"
     ]
    }
   ],
   "source": [
    "print(\"Training data: \", X_32train_std.shape, \"and labels: \", y_32_train.shape)\n",
    "print(\" \")\n",
    "print(\"Test data:\")\n",
    "print(\"Total\", len(X_32test_std), X_32test_std[18].shape, \"arrays for SNR values:\")\n",
    "print(X_32test_std.keys())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Train and test the classifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 10 candidates, totalling 30 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done  30 out of  30 | elapsed: 88.9min finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Randomized search took 88.00 minutes \n",
      "   \n",
      "Result of randomized search, best estimator:\n",
      "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='cityblock',\n",
      "           metric_params=None, n_jobs=1, n_neighbors=27, p=2,\n",
      "           weights='uniform')\n"
     ]
    }
   ],
   "source": [
    "#Train the classifier\n",
    "\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "\n",
    "params = {'n_neighbors': np.arange(1, 31, 2), 'metric': ['euclidean', 'cityblock']}\n",
    "\n",
    "rand_search_cv = RandomizedSearchCV(KNeighborsClassifier(), params, verbose=1)\n",
    "\n",
    "start = time()\n",
    "rand_search_cv.fit(X_32train_std, y_32_train)\n",
    "print(\"Randomized search took %.2f minutes \"%((time() - start)//60))\n",
    "print(\"   \")\n",
    "print(\"Result of randomized search, best estimator:\")\n",
    "print(rand_search_cv.best_estimator_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "*Test the classifier\n",
      "  \n",
      "k-Nearest Neighbor's Accuracy on -20 dB SNR samples =  0.125\n",
      "k-Nearest Neighbor's Accuracy on -18 dB SNR samples =  0.12375\n",
      "k-Nearest Neighbor's Accuracy on -16 dB SNR samples =  0.12375\n",
      "k-Nearest Neighbor's Accuracy on -14 dB SNR samples =  0.132\n",
      "k-Nearest Neighbor's Accuracy on -12 dB SNR samples =  0.1425\n",
      "k-Nearest Neighbor's Accuracy on -10 dB SNR samples =  0.15075\n",
      "k-Nearest Neighbor's Accuracy on -8 dB SNR samples =  0.20975\n",
      "k-Nearest Neighbor's Accuracy on -6 dB SNR samples =  0.28675\n",
      "k-Nearest Neighbor's Accuracy on -4 dB SNR samples =  0.35025\n",
      "k-Nearest Neighbor's Accuracy on -2 dB SNR samples =  0.369\n",
      "k-Nearest Neighbor's Accuracy on 0 dB SNR samples =  0.46425\n",
      "k-Nearest Neighbor's Accuracy on 2 dB SNR samples =  0.592\n",
      "k-Nearest Neighbor's Accuracy on 4 dB SNR samples =  0.66175\n",
      "k-Nearest Neighbor's Accuracy on 6 dB SNR samples =  0.68025\n",
      "k-Nearest Neighbor's Accuracy on 8 dB SNR samples =  0.67725\n",
      "k-Nearest Neighbor's Accuracy on 10 dB SNR samples =  0.6815\n",
      "k-Nearest Neighbor's Accuracy on 12 dB SNR samples =  0.6685\n",
      "k-Nearest Neighbor's Accuracy on 14 dB SNR samples =  0.685\n",
      "k-Nearest Neighbor's Accuracy on 16 dB SNR samples =  0.67525\n",
      "k-Nearest Neighbor's Accuracy on 18 dB SNR samples =  0.67875\n"
     ]
    }
   ],
   "source": [
    "#Test the classifier\n",
    "\n",
    "import collections\n",
    "\n",
    "y_pred = defaultdict(list)\n",
    "accuracy = defaultdict(list)\n",
    "\n",
    "print(\"*Test the classifier\")\n",
    "print(\"  \")\n",
    "for snr in snrs:\n",
    "    y_pred[snr] = rand_search_cv.predict(X_32test_std[snr])\n",
    "    accuracy[snr] = metrics.accuracy_score(y_32_test[snr], y_pred[snr])\n",
    "    print(\"k-Nearest Neighbor's Accuracy on %d dB SNR samples = \"%(snr), accuracy[snr])   \n",
    "    \n",
    "accuracy = collections.OrderedDict(sorted(accuracy.items()))  #sort by ascending SNR values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualize classifier performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1ec10f3fd68>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.style.use('classic')\n",
    "\n",
    "fig = plt.figure(figsize=(8, 4), dpi=100)\n",
    "x = snrs\n",
    "y = list(accuracy.values())\n",
    "plt.plot(x, y, marker=\"o\", linewidth=2.0, linestyle='dashed', color='royalblue')\n",
    "plt.axis([-20, 20, 0, 1])\n",
    "plt.xticks(np.arange(min(x), max(x)+1, 2.0))\n",
    "plt.yticks(np.arange(0, 1, 0.10))\n",
    "\n",
    "ttl = plt.title('SNR vs Accuracy', fontsize=16)\n",
    "ttl.set_weight('bold')\n",
    "plt.xlabel('SNR (dB)', fontsize=14)\n",
    "plt.ylabel('Test accuracy', fontsize=14)\n",
    "plt.grid()\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix Without Normalization\n",
      "       8PSK  BPSK  CPFSK  GFSK  PAM4  QAM16  QAM64  QPSK\n",
      "8PSK    271     1      0     8     2     93     69   176\n",
      "BPSK      1   493      0     0    20      9      8     8\n",
      "CPFSK    33     1    482    60     1      9     13    37\n",
      "GFSK     25     1     16   428     0     19     20    24\n",
      "PAM4      1     3      0     0   474      8      4     1\n",
      "QAM16    17     0      0     0     0    161    172    12\n",
      "QAM64    15     1      0     0     2    158    181    17\n",
      "QPSK    137     0      2     4     1     43     33   225\n"
     ]
    }
   ],
   "source": [
    "# Confusion Matrix\n",
    "\n",
    "from sklearn.metrics import confusion_matrix\n",
    "import pandas as pd\n",
    "\n",
    "classes = ['8PSK', 'BPSK', 'CPFSK', 'GFSK', 'PAM4', 'QAM16', 'QAM64', 'QPSK']\n",
    "y_predicted = rand_search_cv.predict(X_32test_std[18])\n",
    "conf_matrix = confusion_matrix(y_predicted, y_32_test[18]) \n",
    "\n",
    "df = pd.DataFrame(data = conf_matrix, columns = classes, index = classes) \n",
    "print(\"Confusion Matrix Without Normalization\")\n",
    "print(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix\n",
      "       8PSK  BPSK  CPFSK  GFSK  PAM4  QAM16  QAM64  QPSK\n",
      "8PSK   0.44  0.00   0.00  0.01  0.00   0.15   0.11  0.28\n",
      "BPSK   0.00  0.91   0.00  0.00  0.04   0.02   0.01  0.01\n",
      "CPFSK  0.05  0.00   0.76  0.09  0.00   0.01   0.02  0.06\n",
      "GFSK   0.05  0.00   0.03  0.80  0.00   0.04   0.04  0.05\n",
      "PAM4   0.00  0.01   0.00  0.00  0.97   0.02   0.01  0.00\n",
      "QAM16  0.05  0.00   0.00  0.00  0.00   0.44   0.48  0.03\n",
      "QAM64  0.04  0.00   0.00  0.00  0.01   0.42   0.48  0.05\n",
      "QPSK   0.31  0.00   0.00  0.01  0.00   0.10   0.07  0.51\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xcfff0d6cc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Normalize the matrix\n",
    "\n",
    "conf_matrix = conf_matrix.astype('float') / conf_matrix.sum(axis=1)[:, np.newaxis]\n",
    "conf_matrix = conf_matrix.round(decimals = 2)\n",
    "\n",
    "df = pd.DataFrame(data = conf_matrix, columns = classes, index = classes) \n",
    "print(\"Confusion Matrix\")\n",
    "print(df)\n",
    "\n",
    "fig1 = plt.figure(figsize=(8, 4), dpi=100)\n",
    "plt.imshow(conf_matrix, interpolation = 'nearest', cmap = plt.cm.Purples)\n",
    "ticks = np.arange(len(classes))\n",
    "plt.title(\"Confusion Matrix\")\n",
    "plt.xticks(ticks, classes, rotation=45)\n",
    "plt.yticks(ticks, classes)\n",
    "\n",
    "plt.ylabel('True class')\n",
    "plt.xlabel('Predicted class')\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.colorbar()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['knn4.1.pkl']"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.externals import joblib\n",
    "\n",
    "joblib.dump(rand_search_cv, \"knn4.1.pkl\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pickle\n",
    "from sklearn.externals import joblib\n",
    "rand_search_cv = joblib.load(\"knn4.1.pkl\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
